# /**
# * Copyright (c) 2022 Beijing Jiaotong University
# * photlab is licensed under [Open Source License].
# * You can use this software according to the terms and conditions of the [Open Source License].
# *
# * You may obtain a copy of [Open Source License] at: [https://open.source.license/]
# *
# * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# *
# * See the [Open Source License] for more details.
# */
# /**
# * Author: Shihao Xie
# * Created: Jul. 8, 2022
# * Supported by: National Key Research and Development Program of China
# */

# thrift --gen py ./interface/file_data_type.thrift
namespace py phot_server.rpc.file_data_type
namespace js photlab.file_data_type

enum PhotFileType{
    DIRECTORY = 0,
    COMPONENT = 1,
    PROJECT = 2,
    GRAPH = 3,
    GRID = 4,
    CONFIG = 5,
    OTHER = 6
}

struct PhotFile{
    1:required string path,
    2:required string name,
    3:required PhotFileType type,
    4:optional string description,
    5:optional binary data,
    6:optional i32 fileSize,
    7:optional string lastAccessTime,
    8:optional string lastModificationTime,
    9:optional string createTime,
    10:optional binary icon,
    11:optional string iconPath,
}


